連載 JavaServer Pages—O 図 11 set タグ吏って変数に値を言する例 (set ・ jsp) く % page contentType="text/htm1 ; charset=EUC-JP" % > く % taglib prefix="c" uri="http://java.sun.com/jstl/core" % > く ! DOCTYPE HTML PUBLIC "—//W3C//DTD HTML 4.0 Transitiona1//EN"> く tm1 > く he ad> く meta http—equiv="Content—Type" content="text/html ; charset=EUC¯JP"> く title>set tag sample く /title> く /head> く body> く c: set var="x" va1ue="100" / > く c: set var= scope= page">200 く /c: set> x と y の合計はく c:out value="${x + y}" / > です。 く /body> く /html > ば、 JSP ページが受け取ったパラメータの値を表現言語か ら参照できます。また、 forEach タグでは糸お区しに使うカ ウンタ直を変数に設定し、タグの本体でそ刎直を参照す ることができます。 これらのガ去以外に、 core タグライプラリの set タグ を使って変数を定義し、はかのタグで使っている表現言語 から参照することもできます。 図 11 を見てください。ここでは set タグを 2 つのガ去 てイ吏っています。 1 つ目のガ去は、本体をもたない set タグで変数に値を 言しています。 く c: set var=" 変数名” value=" 値 " / > var 属生には変数の名前を、 value 属生には変数の値を 指定します。 value 属性刎直は表現言語て指定することも できます。 2 つ目のガ去は、 set タグの本体部分の値を変数に設定 しています。 く c : set var = ”変数名 " > 値く / c : set> 上のは、 @:set ... 〉タグとく /c:set 〉タグに囲まれ た、、値 " を、、変数名 " の変数に設定します。 図 11 の、、 set. jsp ' ページでは、変数 x と y にそれぞ れ 100 と 200 を設定し、最後に out タグを使って合言 値を表示しています。図 12 は set. jsp の出力結果です。 このように、 set タグを使え ( 斤しい変数を定義できま す。表現言語て使いたい値を変数に保存し、あとて属性の UNIX MAGAZINE 2002.9 図 12 set ・ jsp ページの出力結果 △ファイ非 0 編集表示検索 ) ジャンプ 0 カりマーク⑧タスクヘルプ ! 0 己 t tag s.ample ー N 引 306P を x と y の合計は 300 です ム検カクマゆ、鑢、新着、お ) 、メンバーズ ュメント : れ 4 ; 4 物 を使って表現言語て参照する変数に値を設定するガ去を紹 きる暗黙オプジェクトやそれを使った例、および set タグ 後半では、表現言言韶 ) 話題を中心に、表現言語で利用で いう形式で指定します。 携わるグループが考案した新しい記去で、、、 $ {.. 使うこともできます。表現言語は Java 叫支術の開発に 時属性値とともに表現言語 (Expression Language) を Value) カ甘旨定できます。一方、 JSTL のタグでは、要求 タグを使った、要求日属性値 (Request-Time Attribute JSP の一ヨ殳のタグの場合は、、、く % = . % 〉 " 形式の式 するガ去を見しました。 今回は、 JSTL のタグの属性に、重加勺に決まる値を設定 ☆ とかできます。 値として参照することで、 JSP ページをより柔軟に作るこ 介しました。 115 ( あらい・みちこ ASTEC)
連載 JavaServer Pages の 図 8 paramValues 暗黙オプジェクトを使った例 (paramValues ・ jsp) く %@ page contentTypF"text/htm1 ; charset=EUC—JP" % > く %@ taglib prefix="c" uri="http://java.sun.com/jstl/core" % > く ! DOCTYPE HTML PUBLIC U—//W3C//DTD HTML 4.0 Transitiona1//EN"> く html > く head> く meta http—equiv="Content—Type" content="text/html ; charset=EUC¯JP"> く tit1e>paramVaIues sample く /title> く /head> く body> く c : forEach var="m" items="${paramVa1ues. media}"> く c : out value=" ${m}"/> く br> く /c : forEach> く /body> く /html > 図 9 pageContext 暗黙オプジェクトを吏った例 (pageContext ・ jsp) く %@ page contentType="text/htm1 ; charset=EUC—JP" % > く %@ taglib prefix="c" uri="http://java.sun.com/Jstl/core" % > く ! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitiona1//EN"> く html > く head> く meta http—equiV"Content—Type " content="text/html ; charset=EUC¯JP"> く titIe>pageContext implicit object く /title> く /head> く body> Method : く c : out vaIue="${pageContext. request. method}" /> く br> く c:forEach items="${pageContext . request. cookies}"> く c : out value="${c . / > く c : out value="${c . value}" /> く br> く /c : forEach> サーパー情報 . く c : out vaIue="${pageContext. serv1etContext. serverlnfo}" /> く br> セッション期限 く c : out va1ue="${pageContext. sesslon. maxlnactivelnterval}" /> く br> く /body> く /html > 図 10 pageContext ・ jsp ページの出力結果 物方イ川日・第釁製示復ラヤンフゆフマ - クタスクへ外フせ 三新等おめ Method : GET 同ロ クッキー : JSESSI 0 Ⅲ D = 95917981A3A79F2AEE2ACFF4B7573553 サーバー情報 : Apache Tomcat/4. 0.4 セッション期限 . 1800 ・クッキー ・ JSP サーノヾー セッション 114 などのオプジェクトにアクセスし、リクエスト発彳芋のメ ソッドの種類やクッキーの情報、サーバーの情報、セッ ション尉寺する許幇間を表示します。 図 10 は、 pageContext. jsp の出力結果です。このは かにも、 pageContext を利用すればさまざまな清報を取 り出すことができます。 set タク 表現言語では、オプジェクトや変数に設定された値を参 照できます。たとえば、 param 暗黙オプジェクトを使え UNIX MAG AZINE 2002.9
連載 /JavaServer pages ・ー⑩ paramValues 暗黙オフジェクト フォームから受け取ったパラメータとして、チェック ポックスのように同し名前に複数の値か渡される場合は、 ${param. name} だと最初の値しか返せません。パラメ ータのすべて刎直を取得するには、 paramValues 暗黙オ プジェクトを使う必喫があります。 paramValues 暗黙オプジェクトは、指定された名前の パラメータ値の配列を返します。たとえば、図 8 の JSP ページ paramValues. jsp を、 http : / /... /paramVa1ues ・ j sp?media=air&media=cable 。則 く /forEach> く forEach v 矼 = " 変数名” items=" 配列 " > という形式の使い方を紹介しましたが、図 8 のように く /forEach> e Ⅱ d = " 終了値 " > <forEach var=" 変数名 " begin=" 初期値 " 回は、 f 。 rEach タグについてすこし補足しておきましよう と表示されます。 cable a1 r のように呼び出すと、プラウザ上には、 定した変数名に設定さ forEach タグの本体の部分カ英 ときは、配列の要素の 1 っ 1 つが偵番に、 var " 属性で指 という形式て呼び出すこともできます。この形式を使った 理されます。 図 9 の pageContext. jsp ' を見てください。この JSP はりさまざまなオプジェクトや情報にアクセスできます。 表現言語の pageContext 暗黙オプジェクトからも、や ることを憶えているでしようか ? 情報など、さまざまなオプジェクト青報にアクセスでき クトからは、リクエストやアプリケーション、セッション 以前にとりあげた JSP の pageContext 暗黙オプジェ pageContext 暗黙オプジェクト ・リクエスト ページでは、 UNIX MAGAZINE 2002.9 SC 翡 好評発売中 ! Ja a プログラミング・ノート 国際化と 日本語処理 CAFE BABE UNIX プログラミング・ノート 国際化と日本語処理 ava ・本体 3 , 000 円十税 ・旧 B N 4-7561-3481-5 ・ A5 判、 312 ページ ・風間一洋著 Run Anywhere" を目指すプログラマー 解説する。真の意味での "Write Once, サンカいプログラムを示しながら平易に プログラミングに必須の知識を数多くの Java による日本語処理、さらには国際化 目次から に最適の 1 冊。 1 章 2 章 3 章 4 章 5 章 6 章 7 章 8 章 9 章 10 章 1 1 章 12 章 付録 Java はどんな言語か 国際化と地域イヒ Unicode ロケー丿レ 工ンコーディング タイムゾーン リソース / ヾンド丿レ フォーマット出力と解析 文字列の比較 テキストの境界解析 インブットメソッド 文字の表示 Unicode プロック / ロケール一覧 / 工ンコーティング名一覧 / タイムソーン D 一覧 / ユーロ通貨記号への対応 株式会社アスキー 113 電話 ( 08 ) 535 ト 8194 出版営業部 〒 1 51 ー 8024 東京都渋谷区代々木 4 ー 33 ー ] O